<?php
	class generate{
		
		// function tạo folder
		public function createFolder($name, $path){
	
			$path1 = Yii::getPathOfAlias('webroot').$path.$name;
			$path2 = realpath(Yii::app()->basePath.$path.$name);
			
			if(!is_dir($path2)){
				mkdir($path1); return true;
			}else return false;
		}
		
		// function upload file
		public function uploadFile($file, $path, $nameNew = null){
		
			$arrFile = explode('.', $file->name);
			$type = $arrFile[count($arrFile)-1];
			$nameMd5 = md5(uniqid(rand(), true)).'.'.$type;
			if($nameNew == null){
				$pathUrl = Yii::getPathOfAlias('webroot').$path.$nameMd5;
			}
			$pathUrl = Yii::getPathOfAlias('webroot').$path.$nameNew.'.'.$type;
			if($file->saveAs($pathUrl)){
				return $nameMd5;
			}
			else{
				return false;
			}
			
		}
		
		// function trả về tên của file upload đã được mã hóa md5
		public function getMd5NameFile($file){
			$arrFile = explode('.', $file->name);
			$type = $arrFile[count($arrFile)-1];
			$nameMd5 = md5(uniqid(rand())).'.'.$type;
			return $nameMd5;
		}
		
		// function giải nén file zip
		public function extractFileZip($from, $to){
		
			$zip = new ZipArchive;
			$res = $zip->open(Yii::getPathOfAlias('webroot').$from);
			$zip->extractTo(Yii::getPathOfAlias('webroot').$to);
			$zip->close();
		}
		
		// function xóa file hoăc thư mục
		public function removeFile($file){
			$path = realpath(Yii::app()->basePath.$file);
		
			if(file_exists($path)){
				unlink($path);
				return true;
			}else{
				return false;
			}
		}
		
		// function remove dir not empty
		function rrmdir($dir) {
			foreach(glob($dir . '/*') as $file) {
				if(is_dir($file))
					$this->rrmdir($file);
				else
					unlink($file);
			}
			rmdir($dir);
		}
	
	}
?>